#
# This file is a part of the open-eBackup project.
# This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
# If a copy of the MPL was not distributed with this file, You can obtain one at
# http://mozilla.org/MPL/2.0/.
#
# Copyright (c) [2024] Huawei Technologies Co.,Ltd.
#
# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
#

from typing import List
from pydantic import BaseModel, Field


class Resource(BaseModel):
    id: str = Field(default=None, description='id')
    name: str = Field(default=None, description='name')
    type: str = Field(default=None, description='type')
    sub_type: str = Field(default=None, description='subType', alias='subType')
    parent_id: str = Field(default=None, description='parentId', alias='parentId')
    parent_name: str = Field(default=None, description='parentName', alias='parentName')
    extend_info: dict = Field(None, description='extend_info', alias='extendInfo')


class ListAppV2Response(BaseModel):
    resource_list: List[Resource] = Field(default=[], description='resource list', alias='resourceList')
    page_no: int = Field(default=0, description='页号', alias='pageNo')
    pages: int = Field(default=1, description='总页数')
    page_size: int = Field(default=200, description='页大小', alias='pageSize')
    total: int = Field(default=0, description='总大小')
